
<html><HEAD>
<LINK REL=STYLESHEET HREF="default.css" TYPE="text/css">
<TITLE>
Initialization settings that affect source control </TITLE>
</HEAD>
<BODY>

<!-- Header -->
<p class="ancestor" align="right"><A HREF="pbugp27.htm">Previous</A>&nbsp;&nbsp;<A HREF="pbugp29.htm" >Next</A>
<!-- End Header -->
<A NAME="BABCFGFH"></A><h1>Initialization settings that affect source control </h1>
<A NAME="TI977"></A><h4>Settings for managing source control operations</h4>
<A NAME="TI978"></A><p>In
addition to the SccMaxArraySize described in <A HREF="pbugp26.htm#CIHHJIGD">"Fine-tuning performance
for batched source control requests"</A>, and SccMultiCheckout described
in <A HREF="pbugp27.htm#CIHEIBDF">"Multiple
user checkout"</A>,
there are other <i>PB.INI</i> parameters you can add
that affect source control operations. </p>
<A NAME="TI979"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><caption>Table 3-6: PB.INI settings for source control purposes</caption>
<tr><th  rowspan="1"  ><A NAME="TI980"></A>PB.INI parameter</th>
<th  rowspan="1"  ><A NAME="TI981"></A>Permitted values</th>
<th  rowspan="1"  ><A NAME="TI982"></A>Description</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI983"></A>SccCOImport</td>
<td  rowspan="1"  ><A NAME="TI984"></A><A NAME="TI985"></A>
<ul>
<li class=fi><FONT FACE="Courier New">full</FONT></li>
<li class=ds><FONT FACE="Courier New">inc</FONT></li>
<li class=ds><FONT FACE="Courier New">outofdate</FONT></li>
<li class=ds><FONT FACE="Courier New">full outofdate</FONT></li>
<li class=ds><FONT FACE="Courier New">inc outofdate</FONT>
</li>
</ul>
</td>
<td  rowspan="1"  ><A NAME="TI986"></A>During checkout the default behavior
is to import and compile only the objects being checked out. You
can make the compile more inclusive by adding this parameter to
the initialization file and assigning either the "full" or "inc" value
to it. You can use the "outofdate" value to avoid
unnecessary import and compile operations. <A NAME="TI987"></A><p>For a fuller description of the permitted values, see <A HREF="pbugp28.htm#BABCBBJB">Table 3-7</A>.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI988"></A>SccUCImport</td>
<td  rowspan="1"  ><A NAME="TI989"></A><A NAME="TI990"></A>
<ul>
<li class=fi><FONT FACE="Courier New">full</FONT></li>
<li class=ds><FONT FACE="Courier New">inc</FONT></li>
<li class=ds><FONT FACE="Courier New">outofdate</FONT></li>
<li class=ds><FONT FACE="Courier New">full outofdate</FONT></li>
<li class=ds><FONT FACE="Courier New">inc outofdate</FONT>
</li>
</ul>
</td>
<td  rowspan="1"  ><A NAME="TI991"></A>When you revert a checkout, the default
behavior is to refresh and compile only those objects in the local
project path that were originally checked out. You can make the
compile more inclusive by adding this parameter and assigning either
the "full" or "inc" value to
it. You can use the "outofdate" value to avoid
unnecessary import and compile operations. <A NAME="TI992"></A><p>For the meaning of the permitted values, see <A HREF="pbugp28.htm#BABCBBJB">Table 3-7</A>.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI993"></A>SccGLImport</td>
<td  rowspan="1"  ><A NAME="TI994"></A><A NAME="TI995"></A>
<ul>
<li class=fi><FONT FACE="Courier New">full</FONT></li>
<li class=ds><FONT FACE="Courier New">inc</FONT>
</li>
</ul>
</td>
<td  rowspan="1"  ><A NAME="TI996"></A>When you issue a GetLatestVersion call,
the default behavior is to refresh and compile only the objects
in the request. You can make the compile more inclusive by adding
this parameter and assigning a permitted value to it. <A NAME="TI997"></A><p>For the meaning of the permitted values, see <A HREF="pbugp28.htm#BABCBBJB">Table 3-7</A>.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI998"></A>SccRBImport</td>
<td  rowspan="1"  ><A NAME="TI999"></A><A NAME="TI1000"></A>
<ul>
<li class=fi><FONT FACE="Courier New">full</FONT></li>
<li class=ds><FONT FACE="Courier New">inc</FONT>
</li>
</ul>
</td>
<td  rowspan="1"  ><A NAME="TI1001"></A>When you issue a checkout, get latest
version, or undo checkout call, images of the requested objects
are exported to a temporary directory. When refreshed objects fail
to compile, a dialog box asks whether you want to continue with
or cancel the operation for all objects that fail to compile.<A NAME="TI1002"></A><p>If you select Cancel, the older images for the objects that
fail to compile are reimported from the temporary directory to the
local project path. Whenever object images are rolled back in this manner,
you can force an incremental or full compilation of the entire target
by adding the SccRBImport parameter and assigning a permitted value
to it.</p><A NAME="TI1003"></A><p>For the meaning of the permitted values, see <A HREF="pbugp28.htm#BABCBBJB">Table 3-7</A>.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1004"></A>SccMaxArraySize</td>
<td  rowspan="1"  ><A NAME="TI1005"></A><i>nn</i> (positive integer)</td>
<td  rowspan="1"  ><A NAME="TI1006"></A>Allows you to override the 25-file limit
on file names sent to the source control server in a batched request.
For more information, see <A HREF="pbugp26.htm#CIHHJIGD">"Fine-tuning performance
for batched source control requests"</A>.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1007"></A>SccCaseSensitive</td>
<td  rowspan="1"  ><A NAME="TI1008"></A><FONT FACE="Courier New">0</FONT> or <FONT FACE="Courier New">1</FONT> (1
is default for Telelogic Synergy, 0 for all other SCC providers)</td>
<td  rowspan="1"  ><A NAME="TI1009"></A>By default, PowerBuilder uses a case
sensitivity setting that is compatible with the SCC provider you
are using. You can override the default setting by adding this parameter
and assigning a different value. A value of 1 means that object
names checked into source control are case sensitive, and a value
of 0 means that they are not case sensitive.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1010"></A>SccMultiCheckout</td>
<td  rowspan="1"  ><A NAME="TI1011"></A><FONT FACE="Courier New">0</FONT> or <FONT FACE="Courier New">1</FONT> (1
is default for SCC providers that support multiuser checkouts, 0
for providers that do not support multiuser checkout)</td>
<td  rowspan="1"  ><A NAME="TI1012"></A>If your SCC provider permits multiple
user checkouts, you can use this initialization parameter to ensure
that an item checked out by a user is exclusively reserved for that
user until the object is checked back in. For more information,
see <A HREF="pbugp27.htm#CIHEIBDF">"Multiple
user checkout"</A>.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1013"></A>SccCheckoutNoLock</td>
<td  rowspan="1"  ><A NAME="TI1014"></A><FONT FACE="Courier New">0</FONT> or <FONT FACE="Courier New">1</FONT> (1
is default for MKS Source Integrity, 0 for all other providers</td>
<td  rowspan="1"  ><A NAME="TI1015"></A>Based on known defaults for the SCC provider
you are using, PowerBuilder determines whether locks are added in
source control to objects that you check out. You can override the
default setting for some SCC providers by adding this parameter
and assigning a different value. If the SCC provider permits checkouts of
objects without locking them, a value of 1 means that no locks are
added for objects that you check out. A value of 0 makes sure that
locks are added for these objects.</td>
</tr>
</table>
<A NAME="TI1016"></A><h4>Permitted values for Import parameters</h4>
<A NAME="TI1017"></A><p><A HREF="pbugp28.htm#BABCBBJB">Table 3-7</A> describes
the effect of permitted values for the SccCOImport, SccUCImport,
SccGLImport, and SccRBImport parameters in the <i>PB.INI</i> initialization
file. You can also add an import parameter without assigning it
a value. This has the same effect as the default behavior during
checkout, undo checkout, get latest version, and rollback operations.</p>
<A NAME="BABCBBJB"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><caption>Table 3-7: Permitted values for import parameters
in the PB.INI file</caption>
<tr><th  rowspan="1"  ><A NAME="TI1018"></A>Permitted value</th>
<th  rowspan="1"  ><A NAME="TI1019"></A>Description</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1020"></A>full</td>
<td  rowspan="1"  ><A NAME="TI1021"></A>Forces a full build of the target after
the requested source control operation is completed. <A NAME="TI1022"></A><p>For SccCOImport and SccUCImport, you can combine the "full" value
with the "outofdate" value to reduce the number
of objects imported from the local project path to the target PBLs
before a full rebuild. You combine the values by separating them
with a single space, as shown in the following example: <FONT FACE="Courier New">SccUCImport= full outofdate</FONT>.</p><A NAME="TI1023"></A><p>For SccRBImport, if rollback fails for any reason, the build operation
is not performed.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1024"></A>inc</td>
<td  rowspan="1"  ><A NAME="TI1025"></A>Examines the entire target for additional
objects that are descendants of objects or have dependencies on
the objects that are included in the initial source control request.
The dependent objects are compiled and regenerated as part of an
incremental build, along with the objects in the initial request.<A NAME="TI1026"></A><p>For SccCOImport and SccUCImport, you can combine the "inc" value
with the "outofdate" value to reduce the number
of objects imported from the local project path to the target PBLs
before an incremental rebuild. You combine the values by separating
them with a single space, as shown in the following example: <FONT FACE="Courier New">SccUCImport= inc
outofdate</FONT>.</p><A NAME="TI1027"></A><p>For SccRBImport, if rollback fails for any reason, the build operation
is not performed.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1028"></A>outofdate</td>
<td  rowspan="1"  ><A NAME="TI1029"></A>Compares the exported object images to
the source code in target PBLs after an initial checkout or undo
checkout operation. If the code in the PBLs is identical to the
object images, the object images are not imported. The source code
for identical PBL objects is also not compiled unless you also assign "full" or "inc" to
the SccCOImport or SccUCImport parameters.<A NAME="TI1030"></A><p>The "outofdate" value is not available for
the SccGLImport and SccRBImport parameters. Typically GetLatestVersion
calls are made for objects that are assumed to be out of sync, in
which case the out-of-date comparison is not expected to be useful.
Also, object images that have been rolled back should always be reimported
and compiled to assure the integrity of the target PBLs.</p></td>
</tr>
</table>
<A NAME="TI1031"></A><h4>Settings for troubleshooting problems with source control</h4>
<A NAME="TI1032"></A><p>In addition
to the initialization parameters that can help with managing source control
operations, there are also parameters you can use to troubleshoot problems
with source control. These parameters should not be used in normal operations.
They should be used only for diagnosing a problem with source control. <A HREF="pbugp28.htm#BABDGCAA">Table 3-8</A> describes these
parameters.</p>
<A NAME="BABDGCAA"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><caption>Table 3-8: PB.INI settings for troubleshooting </caption>
<tr><th  rowspan="1"  ><A NAME="TI1033"></A>PB.INI parameter</th>
<th  rowspan="1"  ><A NAME="TI1034"></A>Permitted values</th>
<th  rowspan="1"  ><A NAME="TI1035"></A>Description</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1036"></A>SccExtensions</td>
<td  rowspan="1"  ><A NAME="TI1037"></A>0 or 1 (1 is default)</td>
<td  rowspan="1"  ><A NAME="TI1038"></A>Add this parameter and set it to 0 to
disable <b>SccQueryInfoEx</b> calls when your source
control provider supports this extension to the SCC API. You should
do this either to<A NAME="TI1039"></A>
<ul>
<li class=fi>Measure performance differences
between <b>SccDiff</b> and <b>SccQueryInfoEx</b> calls.</li>
<li class=ds>Test for incompatibilities between PowerBuilder
clients and SCC provider DLL implementations.
</li>
</ul>
<A NAME="TI1040"></A><p>For more information about <b>SccQueryInfoEx</b> calls,
see <A HREF="pbugp25.htm#CIHDAGBB">"Extension to the SCC API"</A>.</p></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1041"></A>SccLogLevel </td>
<td  rowspan="1"  ><A NAME="TI1042"></A>1 or 3 (1 is default)</td>
<td  rowspan="1"  ><A NAME="TI1043"></A>Add this parameter and set it to 3 to
enable more detailed tracing of SCC requests and the responses from
the SCC provider. Increased tracing detail requires more file input
and output, so this setting should be used only for diagnosing problems.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1044"></A>SccMultithread</td>
<td  rowspan="1"  ><A NAME="TI1045"></A>0 or 1 (1 is default)</td>
<td  rowspan="1"  ><A NAME="TI1046"></A>Add this parameter and set it to 0 to
disable multithreading. Disabling multithreading can cause significant
delays when first connecting to source control or when expanding
a node in the PowerBuilder System Tree, so this setting should be
used only to diagnose integration issues with a specific provider
or to work around a known defect.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1047"></A>SccDiffStrategy</td>
<td  rowspan="1"  ><A NAME="TI1048"></A><i>nn</i> (positive integer)</td>
<td  rowspan="1"  ><A NAME="TI1049"></A>Depending on the capabilities of an SCC
provider, different strategies are used for determining whether
a PBL object is out of sync with object files in the SCC repository.
By default, a comparison is made by version number if the <b>SCCQueryInfoEx</b> API extension
is supported and the SccExtensions parameter is not set to 0. Otherwise,
a provider-specific backup strategy is used for the object comparisons.<A NAME="TI1050"></A><p>You can override the default comparison strategy by adding
the SccDiffStrategy parameter to the initialization file and assigning
an appropriate value to it. For more information, see <A HREF="pbugp28.htm#BABFIEHC">"Comparison strategies"</A>.</p></td>
</tr>
</table>
<A NAME="BABFIEHC"></A><h4>Comparison strategies</h4>
<A NAME="TI1051"></A><p>By default, PowerBuilder uses the <b>SCCQueryInfoEx</b> API
extension command to compare objects in target PBLs with object
files in a source control repository. </p>
<A NAME="TI1052"></A><p>For more information on the <b>SCCQueryInfoEx</b> API
extension command, see <A HREF="pbugp25.htm#CIHDAGBB">"Extension to the SCC API"</A>.</p>
<A NAME="TI1053"></A><p>A backup strategy is set for SCC providers that do not support
the API extension. The default backup strategy for all SCC providers
except ClearCase and Perforce is to issue an <b>SccDiff</b> command.
For ClearCase, the backup strategy compares the PBL object with
the local project path object file. For Perforce, the backup strategy
examines the SCC_STATUS_OUTOFDATE bit returned
by the <b>SccQueryInfo</b> command and then compares
the PBL object with the local project page object file.</p>
<A NAME="TI1054"></A><p>You can override the default comparison strategy by adding
the SccDiffStrategy parameter to the initialization file and assigning
a value to it from <A HREF="pbugp28.htm#BABDGCAA">Table 3-8</A>. You can also add the values together
to use multiple comparison strategies&#8212;as long as those
strategies are supported by your SCC provider.</p>
<A NAME="TI1055"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><caption>Table 3-9:  SccDiffStrategy
values for object comparison strategies</caption>
<tr><th  rowspan="1"  ><A NAME="TI1056"></A>Parameter value</th>
<th  rowspan="1"  ><A NAME="TI1057"></A>Object comparison strategy</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1058"></A>02 (default)</td>
<td  rowspan="1"  ><A NAME="TI1059"></A>Compares by version number (<b>SCCQueryInfoEx</b>) &#8212; not supported
by all vendors</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1060"></A>04</td>
<td  rowspan="1"  ><A NAME="TI1061"></A>Examines the SCC_STATUS_OUTOFDATE
bit from the <b>SccQueryInfo</b> command to determine
which objects are out of sync</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1062"></A>08</td>
<td  rowspan="1"  ><A NAME="TI1063"></A>Compares the source code in the target
PBLs with object files in the local project path</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI1064"></A>16</td>
<td  rowspan="1"  ><A NAME="TI1065"></A>Uses the <b>SccDiff</b> command
in quiet mode</td>
</tr>
</table>

